Database Management Systems (DBMS) are used to store files closely associated with database applications including CAD, medical images, invoice images, and other documents. A database provides security, ability to search, and scalability over traditional file systems. A database file system (DBFS) leverages the features of a Database Management System to store files, and the strength of a DBMS to efficiently manage relational data. The DBFS provides a client-server file system abstraction over files stored in a database allowing users to perform network file system operations within the database using standard file system interfaces instead of standard database interfaces. Similar to a Network File System (NFS), the DBFS provides a transparent abstraction layer of a shared network file system as a local file system to a client user.
The DBMS is the file system server for DBFS. A DBFS Client provides a set of interfaces that transform file system operation requests from the client to database operation requests, which are then sent to the DBMS.
The DBFS file system is mounted on a client machine at a client-specific mount point. File system operation requests from a client-user that are relative to the client-specific mount point are translated by the DBFS Client to their corresponding database operation requests and sent to the DBMS. Certain industries, such as Pharmaceuticals and Finance, require the need to track a chain of custody for data files. Tracking the chain of custody must be maintained over network drives and/or data repositories and must maintain privileges on files and validate specific network storage devices. Such change management services may require significant overhead to track all changes to data.
Tracking changes within a DBMS involves either regularly backing up the state of data or tracking each specific change before committing the data change to disk. Retrieving the changes made over specific time on a specific file within the DBMS requires constructing a complex database query to retrieve the state of the file at a specified point in time.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.